﻿namespace Face8280WebSocketServerTest.Models
{
    public class Person
    {
        public string Reply { get; set; }
        public int Result { get; set; }
        public string Error { get; set; }
        /// <summary>
        /// 姓名
        /// </summary>
        public string Name { get; set; }
        /// <summary>
        /// 用户号/编号
        ///仅支持数字，用户唯一标识，跟记录关联
        /// </summary>
        public uint Code { get; set; }
        /// <summary>
        /// 部门/分组
        /// </summary>
        public string Group { get; set; }
        /// <summary>
        /// 职务
        /// </summary>
        public string Job { get; set; }
        /// <summary>
        /// 卡号不能重复，重复将导致添加人员失败
        /// </summary>
        public ulong Card { get; set; }
        /// <summary>
        /// 个人密码，仅支持数字，可以包含0
        ///示例：0012密码就是4位数字并包含2个零，为空不或者不传表示没有密
        /// </summary>
        public string Pin { get; set; }
        /// <summary>
        /// 起始有效期，格式 yyyy-MM-dd HH:mm:ss
        /// </summary>
        public string Start { get; set; }
        /// <summary>
        /// 截至有效期，格式 yyyy-MM-dd HH:mm:ss
        /// </summary>
        public string End { get; set; }
        /// <summary>
        /// 有效次数  0-65535 ；0表示已失效；65535表示无限制
        /// </summary>
        public short Times { get; set; }
        /// <summary>
        /// 开门时段号，取值范围 1-64对应工作参数中的开门时间段
        /// </summary>
        public byte Tp { get; set; }
        /// <summary>
        /// 是否为管理员，管理员由数量限制超过数量后，加管理员会报错不能加入。1表示是管理员；0表示是用户
        /// </summary>
        public byte Admin { get; set; }
        /// <summary>
        /// 是否为常开设置卡，当启用常开功能时，如果常开触发方式为常开设置卡刷卡后常开，则此参数才有意义。1表示是；0表示不是
        /// </summary>
        public byte Keep { get; set; }
        /// <summary>
        /// 状态
        ///0：正常状态；
        ///1：挂失；
        ///2：黑名单
        /// </summary>
        public byte Status { get; set; }
        /// <summary>
        /// 节假日限制开关1--节假日不能开门；0--节假日可以开门；
        /// </summary>
        public byte UseHol { get; set; }
        /// <summary>
        /// 人员附件，附加项 ;例如附加身份证号，手机号，格式为键值对
        /// </summary>
        public List<Attachment> Attachment { get; set; }
        /// <summary>
        /// 人员特征数据
        /// </summary>
        public List<FeatureDataModel> FeatureData { get; set; }
        /// <summary>
        /// 可为空，空表示没有电梯权限 
        /// 格式为逗号分隔的端口号
        /// 端口号取值范围1-64
        /// 示例：1,2,3,5
        /// </summary>
        public string Relay { get; set; }
    }
    public class Attachment
    {
        public string Phone { get; set; }

        public string IdentityId { get; set; }
    }
}
